package cn.com.cifi.mars.service;

import cn.com.cifi.mars.bean.vo.signPlan.DmAnalyticalVo;
import cn.com.cifi.mars.bean.vo.signPlan.SignPlanVersionVo;
import cn.com.cifi.mars.entity.DmDmPlanSignMonth;
import cn.com.cifi.mars.entity.DmDmPlanSignYear;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface DmDmPlanSignMonthService extends IService<DmDmPlanSignMonth> {

    /**
     * 获取供销综合分析在线查看数据
     * @param yearMonth 历史版本时间
     * @param year 查看年份
     * @return
     */
    SignPlanVersionVo getSignPlanVersionVo(List<String> projectIdList,String yearMonth, String year);

    /**
     * 供销综合分析表报表导出数据
     * @param projectIdList
     * @param yearMonth
     * @return
     */
    List<DmAnalyticalVo> dmAnalyticalExport(List<String> projectIdList, String yearMonth);


    /**
     * 汇总供销分析表中项目层级及以下数据
     * @param monthSignList 月度数据列表
     * @param yearSignList 年度数据列表
     * @param projectIdList 项目id列表
     * @param yearMonth 数据归属时间
     * @return
     */
    List<DmAnalyticalVo> getProjectDmAnalyticalVo(List<DmDmPlanSignMonth> monthSignList, List<DmDmPlanSignYear> yearSignList, List<String> projectIdList,Integer yearMonth);

    /**
     * 修改数值格式 金额单位万元
     * @param list
     */
    void updateDmAnalyticalVoAccuracy(List<DmAnalyticalVo> list);

    /**
     * 供销综合分析表底表刷新
     * @param versionIds
     * @param yearMonth
     * @return
     */
    void toSign(List<String> versionIds,String yearMonth);

    /**
     * 刷新指定项目数据
     * @param projectId
     * @param yearMonth
     */
    void refreshProject(String projectId,String yearMonth);
}
